import java.util.Collection;
import java.util.stream.*;

/**
 * @author lg
 * @date 2021/5/11
 */
public class MyStream<T> {
    public Stream<T> stream(Collection<T> collection){
         return StreamSupport.stream(collection.spliterator(), false);
    }

//    public Stream<T> log(){
//        return new ReferencePipeline.StatelessOp<P_OUT, P_OUT>(this, StreamShape.REFERENCE,
//                StreamOpFlag.NOT_SIZED) {
//            @Override
//            Sink<P_OUT> opWrapSink(int flags, Sink<P_OUT> sink) {
//                return new Sink.ChainedReference<P_OUT, P_OUT>(sink) {
//                    @Override
//                    public void begin(long size) {
//                        downstream.begin(-1);
//                    }
//
//                    @Override
//                    public void accept(P_OUT u) {
//                        if (predicate.test(u))
//                            downstream.accept(u);
//                    }
//                };
//            }
//        };
//    }

}
